// Copyright (c) 2010, Anthony Cassidy
// All rights reserved.
// 
// Redistribution and use in source and binary forms, with or without modification, are 
// permitted provided that the following conditions are met:
// 
//     * Redistributions of source code must retain the above copyright notice, this list 
//         of conditions and the following disclaimer.
//     * Redistributions in binary form must reproduce the above copyright notice, this 
//         list of conditions and the following disclaimer in the documentation and/or 
//         other materials provided with the distribution.
//     * Neither the name of the AntsAdventureGameCreator nor the names of its contributors 
//         may be used to endorse or promote products derived from this software without 
//         specific prior written permission.
// 
// 
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 
// SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 
// THE POSSIBILITY OF SUCH DAMAGE.
/*! @mainpage
<img src="Globals_FourAreas.png" alt="doxygen" align="middle" border="0">
<h2>Welcome!</h2>
Welcome to Ants Adventure Game Engine: an adventure game library. 
Utilizing cutting edge technology to create games that were 
fashionable twenty years ago! 

<h2> Object Model </h2>
The object model of this API closely matches what you see on screen (see picture above).
These five top level objects are all accessible via the @ref AntsApi namespace:
@dot
digraph example {
node [shape=record, fontname=Helvetica, fontsize=10];

Room [ label="Room" URL="\ref Room"];
RoomObjects [ label="RoomObjects" URL="\ref RoomObjects"];
RoomObject [ label="RoomObject" URL="\ref RoomObject"];
Animations [ label="Animations" URL="\ref Animations"];
Animation [ label="Animation" URL="\ref Animation"];

Verbs [ label="Verbs" URL="\ref Verbs"];
Verb [ label="Verb" URL="\ref Verb"];

Inventory [ label="Inventory" URL="\ref Inventory"];
InventoryItems [ label="InventoryItems" URL="\ref InventoryItems"];
InventoryItem [ label="InventoryItem" URL="\ref InventoryItem"];

CommandLine [ label="CommandLine" URL="\ref CommandLine"];

SavedStateManager [ label="SavedStateManager" URL="\ref SavedStateManager"];



Inventory->InventoryItems [ arrowhead="open", style="dashed" ];
InventoryItems->InventoryItem [ arrowhead="open", style="dashed" ];

Room->RoomObjects[ arrowhead="open", style="dashed" ];
RoomObjects->RoomObject[ arrowhead="open", style="dashed" ];
RoomObjects->Animations[ arrowhead="open", style="dashed" ];
Animations->Animation[ arrowhead="open", style="dashed" ];

Verbs->Verb[ arrowhead="open", style="dashed" ];
}
\enddot
<h2>Getting Started</h2>
The best place to start is the examples. There are currently nine:

- @ref Example1 - Composing a room
- @ref Example2 - A project from scratch in QtCreator
- @ref Example3 - Adding Event Handlers
- @ref Example4 - Walking around
- @ref Example5 - Picking up objects
- @ref Example6 - Custom Verbs
- @ref Example7 - Using the Codes
- @ref Example8 - Adding compile-time type checking for Keyword parameters
- @ref Example9 - Using Resource Rooms
<h2>Feedback</h2>

- Feature requests, sourcecode requests, and just general comments can 
be sent to antsadventuregamecreator@antcassidy.com. 

<h2>Thanks </h2>
Tom Leys for the static initialization trick.


*/

*/
